package com.burst.reptile.modular.system.service;

import com.burst.reptile.framework.security.LoginUser;
import com.burst.reptile.modular.monitor.entity.SysUserOnline;

/**
 * 在线用户 服务层
 * 
 * @author wujin
 * @date: 2020年6月8日 下午2:21:21
 */
public interface ISysUserOnlineService {
	
	/**
	 * 通过登录地址查询信息
	 * 
	 * @param ipaddr 登录地址
	 * @param user   用户信息
	 * @return 在线用户信息
	 */
	public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user);

	/**
	 * 通过用户名称查询信息
	 * 
	 * @param userName 用户名称
	 * @param user     用户信息
	 * @return 在线用户信息
	 */
	public SysUserOnline selectOnlineByUserName(String userName, LoginUser user);

	/**
	 * 通过登录地址/用户名称查询信息
	 * 
	 * @param ipaddr   登录地址
	 * @param userName 用户名称
	 * @param user     用户信息
	 * @return 在线用户信息
	 */
	public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user);

	/**
	 * 设置在线用户信息
	 * 
	 * @param user 用户信息
	 * @return 在线用户
	 */
	public SysUserOnline loginUserToUserOnline(LoginUser user);
}
